package com.itheima.ood.demo01;

import java.util.concurrent.Callable;

// 测试类
public class AnimalDemo01 {

    public static void main(String[] args) {

        // 要使用Animal动物类，那么我们就需要去创建Animal动物类的对象
        // Animal animal = new Animal();

        // 抽象类不能被实例化(实例化就是去通过new关键字直接去创建该类的对象)

        // 创建子类的对象
        Cat cat = new Cat();
        cat.eat();
        cat.drink();

        /**
         * 1. 不能通过new关键字创建抽象类的对象
         * 2. 抽象类中可以存在构造方法
         * 3. 抽象类中可以不存在抽象方法
         * 4. 抽象类的子类可以是抽象类也可以是具体类，但是具体的类就需要重写抽象类中**所有**的抽象方法 ; 一般情况下我们抽象类的子类都是具体类
         * 5. 抽象类存在的意义是为了被子类继承，抽象类体现的是**模板思想**
         */

    }

}
